Jay Fenlason's Hack
Jay Fenlason's Hack is the name given in this article to the original Hack as written by Jay Fenlason and friends, and to two other versions of Hack of different lineage than Andries Brouwer's Hack. The exact content of the original Hack is little known. Development began shortly after the 1982 USENIX conference in Boston, MA where the Michael Toy and Ken Arnold (the authors of the then closed-source Rogue) spoke. The only publication of the original Hack was on the 1983 or 1984 USENIX software distribution tape. Three derivatives are known to exist: * "hack121" is a DOS binary available at Ali Harlow's website as hack121.zip. No source code for this program is known to exist. See also this newsgroup posting. * PDP-11 Hack was published on Usenet in February 1985, and a port of this to a Unix clone called PC/IX was published in May. They are archived at Google Groups at: ** PDP-11 Part 1 ** PDP-11 Part 2 ** PDP-11 Part 3 ** PDP-11 Part 4 ** PDP-11 Part 5 ** PC/IX Part 1 ** PC/IX Part 2 ** PC/IX Part 3 ** PC/IX Part 4 ** PC/IX Part 5 * Hack 1.0 was developed by Andries Brouwer and posted to Usenet in December 1984. All other versions of Hack and NetHack are descended from this version. The rest of this article covers mainly PDP-11 Hack and "hack121". Overview These games do not have distinct roles for the player to pursue. "Hack121" begins with a screen from which the player may buy equipment; PDP-11 Hack starts the player off as a sort of generic fighter character. The exact goal of the adventurer is uncertain. The Amulet of Yendor is nowhere mentioned in either game. Both games have shops. Other special rooms in hack121 are uncertain at this time. PDP-11 Hack has several special room types, including some that appear in Hack 1.0. PDP-11 Hack apparently has vaults, but they are implemented very differently than in Hack 1.0. PDP-11 Hack starts the player off with a little dog. Hack121 apparently does not have pets. Image:Hack121 buy.png|This is the shop at the start of hack121. (Click thumbnail to view image.) Image:Dos hack bad scores.png|Hack can be a difficult game. Bestiary The bestiaries of hack121 and PDP-11 Hack are listed below, along with the Hack 1.0 bestiary for comparison. Other monster descriptions may be lurking in other parts of the hack121 binary; therefore, this list cannot be considered as necessarily the final word for that version. Main monster list These are given in the order of their appearance in the code; it will be seen that the lists are quite similar. Other monsters kept in separate structures All versions of Hack and NetHack prior to NetHack 3.0.0 have various monster description structures floating around in their source code, for monsters with special functions. These are listed here, with monsters having the same function in the same row. The large dog appears both here and in the above table because the structure in the above table is used for wild dogs, and the one shown below is used for pets. In Hack 1.0, the shopkeeper is moved to the main monster list. The character for the ghost is coded as a tab character, or '\t'. This is likely to be a bug. The giant eel appears in essentially its modern form. The current version of AEB Hack at the release of the PDP-11 Hack was 1.0.1, and this version did not have giant eels. Giant eels do appear in Hack 1.0.2, and the source code credits the publishers of PDP-11 Hack, Michiel Huisjes and Fred de Wilde, for the inspiration. That credit is still present in NetHack 3.4.3 . Available Objects Hack121, PDP-11 Hack, and Hack 1.0 show many similarities in their object lists. Except as noted, the object lists are presented in the order in which they occur in the code. Armor Hack121 takes a different approach to armor than the other two Hacks. The only actual armors are suits. A shield is implemented but is a distinct type of object, in a class by itself. However, note that a shield is put on using the same command used to put on armour and affects your armour class rating in the same way that other armour does. PDP-11 Hack implements only suits and an elven cloak. Hack 1.0 adds a helmet, a shield, and a pair of gloves, allowing five pieces of armor to be worn at the same time. The list of hack121 suits is reordered here to match the PDP-11 and Hack 1.0 orders. Food The available food items are as follows: As Hack121 does not appear to have pets, it is unclear why the first five items are all meat. The dead lizard has no special properties in PDP-11 Hack. Its function in hack121 is just as an item of food. It has no other special functions. In Hack 1.0, it can relieve confusion, but has no effect on cockatrices: stoning by cockatrice hissing is an instadeath in all three of these versions of Hack. Both spinach and steak may randomly increase strength in hack121. Weapons Hack121 and PDP-11 Hack offer the same set of weapons. Hack 1.0 adds a few to these: Potions Several potions in Hack121 have disappeared in later versions. Hack 1.0 adds one potion over PDP-11. Scrolls Available scrolls are as follows: For PDP-11 Hack, the "scroll of losing" takes away the hero's entire inventory and scatters it about the level; while the "scroll of curse levels" appears to curse the hero himself, causing shopkeepers to be angry and all picked-up items to become cursed. The scroll of remove curse will rescind this effect, and in these versions it is not itself affected by curses. Wands Available wands are as follows: In Hack121 the wand of wonder is a random wand of another type which changes each time you zap it. In D&D a wand of wonder works as a random wand of another type. Note: In iLarn (and in http://www.cordier.com/ularn/ ULarn)a wand of wonder prevents the player from falling down holes when in the main inventory. It could serve the same purpose here, as this would not be very apparent to most players. Rings Available rings are as follows. For hack121, the order has been changed to match the other two versions. It is uncertain if the hack121 ring of protection from magic has any connection to the ring of protection from shape changers in the other versions. Gems Hack121 appears to have gems, but their function is uncertain. In PDP-11 Hack, they only add to the player's score; neither of these Hacks has unicorns. Hack 1.0 has gems in their modern form. Other objects The remaining objects in each game seem to have no connection to each other. Hack121 has these objects: * the sphere of power * mirror * cross * tinder box * lantern * torch * flask of oil * shield (which is not a type of armor in this game) PDP-11 Hack has only the "amulet of Frobozz", which may be the forerunner of the Amulet of Yendor. Hack 1.0 has these objects: * whistle * magic whistle * expensive camera * ice box * heavy iron ball * iron chain * enormous rock * the amulet of Yendor References Category:History